from os import listdir
from os.path import isfile, join
from collections import deque


def print_names(start_dir: str):
    # 初始化搜索队列，将起始目录加入队列
    search_queue = deque() 
    search_queue.append(start_dir)

    # 循环搜索队列，直到队列为空
    while search_queue:
        dir = search_queue.popleft()
        for file in sorted(listdir(dir)): # 遍历当前目录下的所有文件和子目录
            fullpath = join(dir, file) # 构建文件或子目录的完整路径
            if isfile(fullpath): # 如果是文件，打印文件名
                print(file)
            else:
                search_queue.append(fullpath) # 如果是子目录，将其加入队列，等待后续搜索


print_names('d:\\Code\\CPP\\')
